{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "99f741f7",
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(x,C):\n",
    "    #lifetime equation\n",
    "    #I1*exp(-t/t1)+I2*exp(-t/t2)\n",
    "    #C=[I1,t1,I2,t2]\n",
    "    return C[0]*np.exp(-x/C[1])+C[2]*np.exp(-x/C[3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "ee8dc448",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "311d5071",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.9429330089268477"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x=1\n",
    "C=[1,2,3,4]\n",
    "f(x,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "5cda1337",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 1.02650014,  0.87785973,  0.66623879,  0.55367269,  0.46180123,\n",
       "        0.301398  ,  0.18263962,  0.08193392,  0.05564087, -0.00989412,\n",
       "       -0.06922107, -0.16737438, -0.1804652 , -0.25672816, -0.29323675,\n",
       "       -0.25144651, -0.28172799, -0.3034162 , -0.37313233, -0.38926282,\n",
       "       -0.4014202 , -0.43641765, -0.45403764, -0.42258724, -0.44633178,\n",
       "       -0.47756381, -0.45645358, -0.48171569, -0.4002593 , -0.42786726,\n",
       "       -0.48476882, -0.41683834, -0.45242971, -0.39751632, -0.45602336,\n",
       "       -0.41187466, -0.42855464, -0.40331425, -0.40026774, -0.39542449,\n",
       "       -0.37238929, -0.3746682 , -0.43216055, -0.36029428, -0.35229181,\n",
       "       -0.33960667, -0.39546794, -0.39144618, -0.35354634, -0.31795484,\n",
       "       -0.3565385 , -0.30363716, -0.3455908 , -0.3257666 , -0.3199664 ,\n",
       "       -0.35527129, -0.32438799, -0.26798088, -0.29225647, -0.3500541 ,\n",
       "       -0.24912223, -0.290936  , -0.30064538, -0.23499236, -0.26720938,\n",
       "       -0.2313789 , -0.23350088, -0.23053502, -0.24128655, -0.23729739,\n",
       "       -0.28365087, -0.27193318, -0.22870344, -0.24631733, -0.25254899,\n",
       "       -0.18525593, -0.22362585, -0.18543629, -0.23769163, -0.18901969,\n",
       "       -0.15187991, -0.19364133, -0.24235215, -0.17643331, -0.2279691 ,\n",
       "       -0.21820428, -0.16673768, -0.19810914, -0.12960859, -0.12847965,\n",
       "       -0.1409182 , -0.16672935, -0.18243619, -0.14342716, -0.13357454,\n",
       "       -0.15265937, -0.13559238, -0.12389614, -0.09129193, -0.10404221,\n",
       "       -0.15849245])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "noise=0.1\n",
    "C=np.array([2,10,-1,50])\n",
    "t=np.linspace(0,100,101)\n",
    "I=f(t,C)+(np.random.rand(t.size)-0.5)*noise\n",
    "I"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "a27a2be1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x187c81386a0>]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAvP0lEQVR4nO3deVhV5fr/8ffN5ISIAyICiibOQyKYOZRDg1ZqNqhpZmWallmnOml1Kuucsk6D59ekoVlWmjlUWmnaoGmmCaKZOEHOM86KAwL37w+ILwgowoYNe9+v69qXe6/1rPXcj8PHxbPXIKqKMcYY1+fh7AKMMcaUDAt8Y4xxExb4xhjjJizwjTHGTVjgG2OMm/BydgEXU6NGDQ0LC3N2GcYYU2asXr36kKoG5LWuVAd+WFgYsbGxzi7DGGPKDBHZkd86m9Ixxhg3YYFvjDFuwgLfGGPchAW+Mca4CQt8Y4xxExb4xhjjJizwjTHGTbhc4KempzJu2TgW/bXI2aUYY0yp4nKB7ymevLHiDb7a+JWzSzHGmFLFIYEvIlNE5KCIrM9nvYjI2yKSKCLrRCTCEf3m0xeNazRm0+FNxdWFMcaUSY46wv8Y6H6R9T2A8MzXMGCCg/rNU+Pqjdl0yALfGGOyc0jgq+pS4MhFmvQGPtEMKwF/EQlyRN95aVyjMftP7efY2WPF1YUxxpQ5JTWHHwzsyvZ5d+ayXERkmIjEikhsUlJSoTprXKMxgB3lG2NMNiUV+JLHsjyfnq6q0aoaqaqRAQF53uHzkizwjTEmt5IK/N1AaLbPIcDe4uqsXtV6eHt4W+AbY0w2JRX484B7Ms/WaQccV9V9xdWZl4cX4dXDLfCNMSYbhzwARUQ+BzoDNURkN/AC4A2gqhOB+cBNQCJwGrjPEf1eTOMajYk/GF/c3RhjTJnhkMBX1bsusV6Bhx3RV0E1rt6YeZvncT7tPN6e3iXZtTHGlEoud6Xt3xrXaExqeip/Hf3L2aUYY0yp4LKB3ySgCWBn6hhjzN9cNvAbVW8EWOAbY8zfXDbwK5erTHDlYDYe2ujsUowxplRw2cCHjHl8O8I3xpgMbhH4GScJGWOMe3P5wD9x7gT7T+13dinGGON0Lh/4YF/cGmMMWOAbY4zbcOnAD64cTCXvShb4xhiDiwe+iBDmH8auE7su3dgYY1ycSwc+QIhfCLtP7HZ2GcYY43RuEfh2hG+MMW4S+AdOHSAlLcXZpRhjjFO5ReAryr6Txfa8FWOMKRPcIvABm8c3xrg9lw/8UL+MR+la4Btj3J1DAl9EuovIZhFJFJExeayvIiLfiMgfIhIvIsX+iMO/2RG+McZkKHLgi4gn8B7QA2gK3CUiTS9o9jCwQVVbkfHs2zdFxKeofReEXzk/fH18LfCNMW7PEUf4bYFEVd2qqinADKD3BW0UqCwiAvgCR4BUB/R9SSKScS7+SQt8Y4x7c0TgBwPZT3Tfnbksu3eBJsBe4E/gUVVNz2tnIjJMRGJFJDYpKckB5dnFV8YYA44JfMlj2YU3oL8RWAvUBq4E3hURv7x2pqrRqhqpqpEBAQEOKC/z4qvjdvGVMca9OSLwdwOh2T6HkHEkn919wJeaIRHYBjR2QN8FElI5hH2n9pGaXiKzSMYYUyo5IvBjgHARqZf5RWx/YN4FbXYC3QBEJBBoBGx1QN8FElollHRNtwehGGPcWpEDX1VTgZHAQmAjMFNV40VkuIgMz2z2b6C9iPwJ/ASMVtVDRe27oOzUTGOMAS9H7ERV5wPzL1g2Mdv7vcANjuirMCzwjTHGDa60BQt8Y4wBNwn8quWrUsGrggW+McatuUXgZ118ZYFvjHFjbhH4kHGmjj0IxRjjztwm8O0I3xjj7twn8CuHsPfkXtLS05xdijHGOIX7BL5fCKnpqRxMPujsUowxxincKvDBTs00xrgvC3xjjHETbhP4oVXsUYfGGPfmNoFfvUJ1ynmWs8A3xrgttwl8EaGuf10SjyY6uxRjjHEKtwl8gNa1WhO7N9bZZRhjjFO4VeBH1Y5i5/GddmqmMcYtuVfgB0cBELMnxsmVGGNMyXOrwI8IisBDPIjZa4FvjHE/bhX4vj6+NKnRxALfGOOWHBL4ItJdRDaLSKKIjMmnTWcRWSsi8SLyiyP6LYyo4Chi9sSgqs4qwRhjnKLIgS8insB7QA+gKXCXiDS9oI0/8D7QS1WbAXcWtd/CiqodRdLpJHYe3+msEowxxikccYTfFkhU1a2qmgLMAHpf0GYA8KWq7gRQVaedJhNZOxLApnWMMW7HEYEfDGR/ssjuzGXZNQSqisgSEVktIvfktzMRGSYisSISm5SU5IDycmoV2ApvD287U8cY43YcEfiSx7ILJ8i9gDbAzcCNwHMi0jCvnalqtKpGqmpkQECAA8rLqZxXOVoGtrQjfGOM23FE4O8GQrN9DgH25tHme1VNVtVDwFKglQP6LpSo2lGs3readE13VgnGGFPiHBH4MUC4iNQTER+gPzDvgjZzgU4i4iUiFYGrgI0O6LtQooKjOHHuBFsOb3FWCcYYU+KKHPiqmgqMBBaSEeIzVTVeRIaLyPDMNhuB74F1wCpgsqquL2rfhRVV2664Nca4Hy9H7ERV5wPzL1g28YLPrwOvO6K/omoS0ISK3hWJ2RvDoFaDnF2OMcaUCLe60vZvXh5etA1uy/Jdy51dijHGlBi3DHyAznU7s2bfGo6eOersUowxpkS4b+CHdUZRlu5Y6uxSjDGmRLht4LcLaUd5r/Is3r7Y2aUYY0yJcNvAL+dVjvah7S3wjTFuw20DH6BLWBfWHVjHodOHnF2KMcYUO7cPfMDm8Y0xbsGtAz8qOIqK3hVZvM2mdYwxrs+tA9/H04eOdTraPL4xxi24deBDxvn48UnxHEx22i36jTGmRLh94HeplzGPv2T7EucWYowxxcztA79NUBt8fXxtHt8Y4/LcPvC9Pb2Jqh1F3P44Z5dijDHFyu0DH6Bh9YYkHE5wdhnGGFOsLPDJCPyjZ49y+PRhZ5dijDHFxgIfCK8WDkDCETvKN8a4Lgt8ILx6ZuDbtI4xxoU5JPBFpLuIbBaRRBEZc5F2USKSJiJ3OKJfR6lftT4e4mFH+MYYl1bkwBcRT+A9oAfQFLhLRJrm0+41Mp59W6r4ePpQt0pdC3xjjEtzxBF+WyBRVbeqagowA+idR7tHgDlAqbykNbx6uE3pGGNcmiMCPxjYle3z7sxlWUQkGOgD5HiweV5EZJiIxIpIbFJSkgPKK5iG1RqScCQBVS2xPo0xpiQ5IvAlj2UXpub/gNGqmnapnalqtKpGqmpkQECAA8ormPDq4Zw4d8LuqWOMcVleDtjHbiA02+cQYO8FbSKBGSICUAO4SURSVfVrB/TvENlPzQz0DXRyNcYY43iOOMKPAcJFpJ6I+AD9gXnZG6hqPVUNU9UwYDbwUGkKe7BTM40xrq/IR/iqmioiI8k4+8YTmKKq8SIyPHP9JeftS4Mw/zC8PLzsTB1jjMtyxJQOqjofmH/BsjyDXlXvdUSfjubl4UU9/3oW+MYYl2VX2mZjN1EzxrgyC/xswquFk3gk0U7NNMa4JAv8bMKrh5N8Ppl9p/Y5uxRjjHE4C/xssk7NtGkdY4wLssDP5u9TM7cc3uLkSowxxvEs8LMJ9QvFx9PHztQxxrgkC/xsPD08aVCtgQW+McYlWeBfoEmNJqw/uN7ZZRhjjMNZ4F8gIiiCxCOJHD973NmlGGOMQ1ngXyAiKAKAtfvXOrcQY4xxMAv8C7Su1RqAuH1xTq7EGGMcywL/AoG+gQRXDiZuvwW+Mca1WODnISIogtV7Vzu7DGOMcSgL/Dy0CWrDpkObSE5JdnYpxhjjMBb4eYgIikBR/jjwh7NLMcYYh7HAz8PfZ+rYF7fGGFdigZ+H2pVrU7NSTQt8Y4xLcUjgi0h3EdksIokiMiaP9QNFZF3m6zcRaeWIfouLiBARFGGBb4xxKUUOfBHxBN4DegBNgbtEpOkFzbYB16pqS+DfQHRR+y1uEbUiiE+K52zqWWeXYowxDuGII/y2QKKqblXVFGAG0Dt7A1X9TVWPZn5cCYQ4oN9iFREUQWp6Kn8e+NPZpRhjjEM4IvCDgV3ZPu/OXJafIcCC/FaKyDARiRWR2KSkJAeUVzj2xa0xxtU4IvAlj2V5PhRWRLqQEfij89uZqkaraqSqRgYEBDigvMIJ8w+javmqFvjGGJfh5YB97AZCs30OAfZe2EhEWgKTgR6qetgB/Rarv7+4jd0X6+xSjDHGIRxxhB8DhItIPRHxAfoD87I3EJE6wJfAIFUtM88PbBfSjj/2/8GplFPOLsUYY4qsyIGvqqnASGAhsBGYqarxIjJcRIZnNnseqA68LyJrRaRMHDZ3CO1Amqaxas8qZ5dijDFF5ogpHVR1PjD/gmUTs71/AHjAEX2VpKtDr0YQlu9cTtd6XZ1djjHGFIldaXsR/uX9aVazGb/u+tXZpRhjTJFZ4F9Ch9AOrNi1grT0NGeXYowxRWKBfwkd63TkZMpJe7C5MabMs8C/hA6hHQBYvmu5kysxxpiiscC/hDD/MIJ8gyzwjTFlngX+JYgIHep0YPlOC3xjTNlmgV8AHUI7sOP4Dvac2OPsUowxptAs8AvA5vGNMa7AAr8Arqx1JRW9K/LrTjsf3xhTdlngF4C3pzdXBV/F/IT5dl8dY0yZZYFfQE91eIptx7bRd1Zfzqedd3Y5xhhz2SzwC6h7g+5MuHkCCxIXMOK7Eajmect/Y4wptRxy8zR3MazNMHYd38V/lv2HMP8w/nXNv5xdkjHGFJgd4V+ml7q8RN9mffn30n9z7OwxZ5djjDEFZoF/mUSEJ69+kpS0FOZsmOPscowxpsAs8AshsnYk4dXCmfbnNGeXYowxBWaBXwgiwsAWA1myfYldfWuMKTMcEvgi0l1ENotIooiMyWO9iMjbmevXiUiEI/p1poEtB6Ion6//3NmlGGNMgRQ58EXEE3gP6AE0Be4SkaYXNOsBhGe+hgETitqvszWo1oC2wW1tWscYU2Y44gi/LZCoqltVNQWYAfS+oE1v4BPNsBLwF5EgB/TtVANbDGTt/rVsSNrg7FKMMeaSHBH4wcCubJ93Zy673DZlTr9m/fAUT6b/Od3ZpRhjzCU5IvAlj2UXXoZakDYZDUWGiUisiMQmJSUVubjiFOgbyHX1r2Pan9NI13Rnl2OMMRfliMDfDYRm+xwC7C1EGwBUNVpVI1U1MiAgwAHlFa/BrQaz/dh2Fm9b7OxSjDHmohwR+DFAuIjUExEfoD8w74I284B7Ms/WaQccV9V9Dujb6fo06UO1CtWYFDfJ2aUYY8xFFTnwVTUVGAksBDYCM1U1XkSGi8jwzGbzga1AIjAJeKio/ZYW5b3KM6jlIL7a9BWHTh9ydjnGGJMvh5yHr6rzVbWhql6hqi9nLpuoqhMz36uqPpy5voWqxjqi39JiSOshpKSl8Okfnzq7FGOMyZddaesALQJbcFXwVUxeM9lum2yMKbUs8B1kaMRQNiRtYMXuFc4uxRhj8mSB7yD9mvfD18eXyXGTnV2KMcbkyQLfQXx9fOnXrB9fxH9BSlqKs8sxxphcLPAdqEeDHpw+f5rVe1c7uxRjjMnFAt+BOtbpCMCyncucXIkxprQ7cOoACYcTSrRPC3wHCvQNpGH1hvy681dnl2KMKcWSU5K55uNraPRuI+6bex+7T+wukX4t8B2sY2hHft35q91bxxiTr38s/AcJhxO4p9U9fP7n54S/E85bK94q9n4t8B2sU91OHD171G6ZbIzJ01cbv2JS3CRGdxjNx7d+zOaRm+kc1pmnfniKXcd3XXoHRWCB72Cd6nQCsGkdY0wue07s4YFvHiCydiQvdnkRgLr+dZlw8wQUZWLsxGLt3wLfwepXrU8t31r2xa0xZcTK3SuZGT+TKWum8H7M+2w/tt3hfaSmp/LZus+49uNrOZt6lum3TcfH0ydrfZh/GD0b9iQ6LpqzqWcd3v/fvIptz25KROhUp5Md4RtTBqw/uJ6rP7w6xzJvD28einqIZzs9S0ClS9+iXVVZumMpH6z+gJaBLXmqw1N4yP8dS3+18SvG/DSGLYe30CqwFd/e9S3h1cNz7WfUVaOYu3kuM9bP4N4r7y3y2PJiR/jFoFOdTuw8vpOdx3c6uxRjzEXMWD8DD/FgxZAVbH90O5tHbmZwq8G8s+od6r9dn9kbZl90+9kbZtNqYis6T+3M15u+5umfnqbvrL4kpyRz+vxphn0zjNtm3oaPpw9z+s4h7sE4utTrkue+uoR1oVlAM97+/e1iuyeXBX4x6FQ3Yx5/2Q6b1jGmKJJTkonZE1Ms+1ZVvoj/gi5hXWgX0o66/nVpWL0hk3pNIv6heFrUbMGAOQP4aetPeW6/7sA6+s3uh6J82OtDDj11iDdveJOvNn1FhykdiJoUxeS4yYzpMIa4YXHc1uS2HEf+FxIRRrYdyZr9a/ht12/FMmYL/GLQomYL/Mr52bSOMUV091d303ZyW1buXunwfa/Zv4bEI4n0a9Yv17rGNRozf+B8GtVoRJ8v+rBm35oc61WVkfNHUrV8VX659xfub30/Fb0r8vjVj/PdgO/Yfmw7h08fZuHdCxl33Ti8Pb0LVNOgloOoUq4K76x6xyFjvJAFfjHw9PCkfWh7lu5cardLNqaQvt70NV9v+hoP8eCJRU8U6d9SuqYzP2F+ji9Ev1j/BV4eXtzW5LY8t/Ev78/3A7/Hv7w/Pab1YPOhzVnrpv85nWU7lzGu2ziqVaiWY7vuDbqz5ZEtbB65meuvuP6y6qzkU4khrYfw+57fOZd67rK2LQgL/GLSo0EPNiRtoNNHnVi1Z5WzyzGmTDl57iSPLHiEFjVb8G6Pd/lt12/M2Tgn3/aHTx++6P6mrZvGzdNv5uHvHgYyjtBnbpjJdfWvo3rF6vluF+wXzMK7F5KankpEdATvrXqP42eP8+QPTxJVO4ohEUPy3K5mpZpUKV+lACPN7YXOL7Bl5BbKeZUr1PYXY4FfTB6OepjJPSeTeCSRqyZfxZC5Q+zqW2MK6PnFz7PnxB6ie0YzrM0wmtdszugfR+d5J9o5G+YQ+EYgcfvi8tyXqvLmijfx9vBmytopfLbuM1btWcX2Y9vznM65UJOAJqwdvpZOdToxcsFIGr3biAOnDvDeTe9ddE6+sPzK+RV4CuhyFalaEakmIj+ISELmr1XzaBMqIotFZKOIxIvIo0Xps6zw9PBkSMQQEh5JYETkCKasnWJH+sYtjVowim6fdCMtPS3H8md/epYOUzrkOhBavXc1b696mxGRI2gX0g5PD0/euP4Nth7dynur3su1/ylrp5Cmabzx2xt59v/Ttp/448AfvHfTe3Sq04nh3w7n1eWv4uPpw62Nby3QGEL8QlgwcAHRt0STfD6ZEZEjiAqOKthvQGmiqoV+Af8FxmS+HwO8lkebICAi831lYAvQtCD7b9OmjbqCI6ePqOeLnvr0j087uxRjStSpc6e04ssVlbHoxJiJWcvj9sapx4seylh03qZ5Oba54dMbNOC/AXrszLFcy/1f9dejZ45mLTt46qB6vuipVcZVUc8XPXXHsR25arjx0xs18PVAPXv+rO46vkurv1ZdGYv2nN6zUGM6c/6MpqWnFWrbkgDEaj6ZWtSfR3oDUzPfTwVuzeM/lH2qGpf5/iSwEQguYr9lStUKVbmm7jXM2zzP2aUYU6K+3fItp8+fJtQvlKd/epqk5CTSNZ0R342gRsUahPiF8NbK/7tpWOzeWBb9tYgnrn4i1xz4q91e5djZY7wf837WslkbZpGmaXx222cA/L+V/y/HNusPrmfhXwsZddUoynmVI8QvhKm3TsVDPLin1T2FGlN5r/LFMpVTEopadaCq7oOMYAdqXqyxiIQBrYHfL9JmmIjEikhsUlJSEcsrPXo16kV8Ujx/HfnL2aUYU2JmxM8gyDeI+QPnczLlJGN+HMOHcR/y+57feeP6N3jsqsdYsn1J1vz7uF/H4V/enxFRI3Ltq3VQa3o06MH4leM5ff40kHG2TLOAZtwcfjP9mvdjUtwkjp89nrXNmyvepKJ3RYZHDs9adnPDm9n/xH5ub3J7MY++9Llk4IvIjyKyPo9X78vpSER8gTnAY6p6Ir92qhqtqpGqGhkQcOnLmsuKXo16AfDNlm+cXIkxJePY2WPMT5hPv2b9aF6zOY+3e5wpa6fwxKInuKbuNdzd8m4eiHgAXx9fxq8cz4akDXy58UseafsIfuX88tznM52e4dDpQ0yOm8z2Y9tZvms5A1sMRER44uonOJlykklxk0hJS+HzPz9n2rpp3H/l/blOnQyoFICIlMRvQ6lyyXvpqOp1+a0TkQMiEqSq+0QkCDiYTztvMsJ+mqp+Wehqy7D6VevTvGZz5m2ex2PtHnN2OcYAGd/hnUo5ha+Pb6ECcNvRbfh4+hDsl3uW9utNX5OSlkL/5v0BeO7a55i+fjr7T+3n/ZveR0SoUr4KD7R+gHdj3uVg8kEqeldk1FWj8u2vY52OXFP3Gl7/7XWOnjkKkLX/iKAIuoR14dVfX+WN397gQPIBGlZvyFMdnrrscbmqok7pzAMGZ74fDMy9sIFk/C36ENioqsV/h/9SrFfDXizdsTTrL6oxjnY+7TwTYydy8tzJHMu3Ht1K8FvBBL0ZxJUTr+S6T67jyolX4v+aP36v+tEmug0z1s8gNT01az9bDm+56MU/J8+dpN2H7WjyXhNmxs/Mtf7z9Z9Tz78ebYPbAuDr48v3A79n/oD5NKvZLKvdqKtGka7pLPprEQ+2eZAaFWtcdIzPdHyG3Sd28/Kyl2kf2p56VetlrXu207McP3ecyNqRLBi4gI0PbyS0Suilf+PcRFED/1XgehFJAK7P/IyI1BaR+ZltOgCDgK4isjbzdVMR+y2TejXqRZqmsSBxgbNLMS5q9obZjPhuBA9++2DWlamqytBvhnLy3EluCb+FOlXqkHw+mdAqoQxuNZix147l9PnT3DXnLhq83YCWE1pS6ZVKNHq3EQ/Pfzjfvt5c8SYHkw9Sr2o9+s3uxyPzH8n6D+Jg8kF+2voT/Zv3z/GTQ7OazXJdfVqvaj1ua5Jxg7Enrn7ikmO84YobaBPUhvPp5xnYYmCOdd3qd+PMs2f4dsC3dG/Qvcx+uVps8jt9pzS8XOW0zL+lpadp4OuB2m9Wv1zrUtNS9bedv5Xq072Mc+09sVefXPiknjp3Kt82t0y/Jet0x4/XfKyqqpNXT851WuSF0tLT9KuNX+kNn96gN0+7Wcf8MEb7zOijni96auLhxFzt95/cr5VerqR3zLxDU1JT9ImFTyhj0Zqv19QBcwbo4K8GK2PRdfvXFWhsh5IP6Zp9awrUVlV1YeJCbfxuY01KTirwNu6Ci5yW6fRQv9jL1QJfVfWBuQ+o3zg/PXP+TI7lryx9RRmLvrL0FSdVZkq7//76X2Us+uKSF/Ncn5ScpF4veenj3z+unT/urJVerqRLti3RKuOqaOePO1/2wcTeE3u1/H/K671f35tr3cjvRqrni566+dDmrGULExfqgDkDtObrNZWxaIv3W1zeAI1DXCzw7eedEjao1SBOnDvBK8teyVp2MPkg434dR3mv8vxr8b9YvG2xEys0zqCql/xuZ/mu5QD8d/l/2XdyX671s+JnkZqeyqBWg/i0z6eU8ypH10+6ci7tHJN6Trrs6Y2gykGMiBzBp398SuKRxKzlfx35i4mrJzI0YigNqzfMWn7DFTcw7bZp7H9iP3+O+JPv7/7+svozxc8Cv4RdU/caBrUcxLhfx7H+4HoAxi7JmEP99b5faVi9If3n9Gfvyb1OrtSUpFeWvULgG4HMT5if53pV5bddv3Ft3WtJSUvh+cXP52oz7c9pNA1oSqvAVoT4hfBhrw9RVV7u+jINqjUoVF1PdXgKH08f/rP0PwDsO7mPEd+NwMfTh+evzV0DZNzXvXnN5tSuXLtQfZriY4HvBG/d+Bb+5f0Z+s1Q4g/GE706muGRw2lTuw1z+s4hOSWZfrP75XmjKON6UtJSeDfmXc6nn+f2mbfn+RNewpEEkk4nMbDFQEa2HcmUtVP488CfWesvPCcd4NbGt7L/yf08fvXjha6tlm+tjKP8dZ8y7Jth1H+7Pj9v+5lXu71KUOWgQu/XOIcFvhPUqFiD/934P1buXkm3T7pRyacSL1z7AgBNA5oyqeckft35K32+6JN1RaFxXV9v+pr9p/Yz9dapXFH1Cnp+3jPXE4+W78yYzulQpwP/uuZfVClXhSd/eDLrTJzpf04HYECLATm2q1npohe/F8hTHZ6inGc5pqyZwl3N72LLI1t45KpHirxfU/Is8J1kQIsB3HjFjRxIPsAzHZ/J8bDku1rcRfQt0SxIWED3z7rnuFTcuJ4JsRMI8w9jYIuB/HjPj9SuXJubpt3EkTNHstos37WcquWr0rhGY6pVqMZz1zzHor8W0fqD1kSvjuazdZ/RIbQDYf5hDq8v0DeQFUNWsOWRLUzpPYX6Ves7vA9TMizwnURE+Kj3R7za7VUebZf7jtFD2wxlxh0zWLl7JV2mdrHQL6WW7ViW7zNPC2JD0gaWbF/C8DbD8fTwpJZvLWbdOYvj547zyR+fZLVbvms57UPbZ33x+mi7R5ncczIAD377IBsPbcx1dO9IrWq1sqB3ARb4ThRUOYjRHUdT3qt8nuv7NuvLl/2+ZM3+NTn+8ZvS4VzqOfrO7kufL/pwMDnPu4pc0sTYifh4+nB/6/uzlrWq1Yp2Ie34YPUHqCqHTx9m06FNdAjtkNXGQzwYEjGENQ+uYfn9y3mx84sMbjU4ry6MyWKBX8rd0vAWmtdszswNuS9dNyXnozUf5TqDZmb8TPaf2s/JlJO8uOTFPLc7c/4Mi7ctZsWuFbnWnUo5xdQ/pnJn0ztzTOkBPNjmQTYd2sTSHUuz5vM71OmQax8iQvvQ9jx/7fNU8qlU2OEZN2GBXwb0bdqX5TuXs+fEHmeX4paW7VjG/fPup9/sfll/BqrK+JXjaVKjCQ9FPsQHqz9g06FNWdvMip/FtR9fi/9r/nT9pCudp3Ym/mB8jv1+tOYjTpw7wUNRD+Xqs2+zvlQpV4UPVn/A8l3L8fbwJqp2GXzCkilVLPDLgDub3YmiF32IsykeZ86fYci8IYT6hXI+7TxP/vAkAMt2LmPN/jU81u4xxnYeS0Xvioz+cTSqyguLX6Dv7L4kJScxqu0oZt85G79yftw3976sm5OtP7ie0T+Oplu9blwdcnWufit6V+SeVvcwZ+Mcvt3yLRFBEVTwrlCiYzeuxwK/DGhcozHNazZn1oZZzi7FJfyy/RdumX4LCxIufRO7F5a8QMKRBD7q/RFjOo5hxvoZ/LztZ8avHE/1CtUZ1HIQAZUCeKbTM8zbPI+un3TlpaUvcd+V97F2+Fpev+F1bm96O+/2eJeYvTGMXzGeUymnuHPWnfiV8+Oz2z7L97bED7Z5kJS0FOKT4nPM3xtTWBb4ZYRN6xTd+oPr6fl5TzpP7cx3Cd/xzM/PZJ3HnpeYPTG8ueJNhkYMpVv9bozuMJr6VeszZN4Q5m6ay/DI4VlH3Y9e9SihfqEs2b6Ecd3G8WGvD/Hx9MnaV99mfbm18a08t/g57px1J1sOb2H67dOp5Vsr3/6b1WyWFfR5zd8bc7ks8MsIm9YpnD0n9vDWireImhRFiwktWLZjGeO6jeOtG95i7f61rNy9Ms/tzqedZ8i8IQT5BvH69a8DUMG7Am93f5vtx7bj5eGVY+69gncF5g+czy/3/sKYjmNyHbWLCBNunkBF74p8n/g9L1z7Al3rdb1k/f9s/09qVKzBNXWvKcLvgjEZ5GJHOM4WGRmpsbGxzi6j1Gg5oSVVyldh2X3LnF1KmXAw+SDh74Rz4twJ2gS1oV+zftzf+n6qV6zOqZRT1H6zNr0a9cp6AHZ2b/z2Bv/84Z983e9rejfO+TTPEd+OoGqFqrzS7ZVc213Kor8W8dPWn3il2yt4engWemzG5EdEVqtqZF7rLvmIQ1N63Nn0Tp5f8jw7ju2grn9dZ5fjVCfPnWRi7EQ8PTwJ8g2iTpU6XB16dY47Qn618StOnDvBksFLuDbs2hzb+/r4MrjVYKLjonnrxrdy3IJg5/GdvLDkBXo16pUr7AEm3DKh0HXfcMUN3HDFDYXe3piisCmdMmRAiwH4ePrQfkp7Fv21yNnlOM2JcyfoMa0HT/34FE8seoIBXw6g40cdc12cNmfjHBpUa5DvdMhDUQ+RkpbCh3Ef5lj+6PcZVz6/3f3t4hmAMU5SpMAXkWoi8oOIJGT+WvUibT1FZI2IfFuUPt3ZFdWuYMWQFfiX9+fGz25k5PyRuZ5d6upOnDtB98+68/ue35l15yyOjj5K/EPxNA1oyvsx72e1O3LmCIu3L+b2JrfnexZMk4AmdK3XlYmrJ5KWngbAt1u+5etNX/P8Nc+7/U9RxvUU9Qh/DPCTqoYDP2V+zs+jwMYi9uf2IoIiiB0ay2NXPcZ7Me9R/+36jF8xnrOpZ51dWr7Opp5l5/Gdhd5eVdl+bDuz4mdx/afXE7M3hpl3zOSOpnfgX96fpgFNGd5mODF7Y4jbFwfAvM3zSE1P5fYmt1903w9HPczO4zvpMa0HLSa0oM8XfWga0JR/XP2PQtdrTGlVpC9tRWQz0FlV94lIELBEVRvl0S4EmAq8DDyuqrcUZP/2pe3Frdqzimd/fpYft/5IiF8IX/b9kqjg4rka8z9L/8O+k/t456Z3LvvJSaMWjGLKmins/MdOqlWodsn2R84c4d1V77Ll8Ba2HdvGlsNbOHT6EACVvCvx2W2fcWvjW3Nsc+zsMWq/WZtBLQfxQc8P6Pl5T9YdWMf2R7fne4QPkJqeSttJbTly5gjNazanec3mDGszzG4UZsqsi31pW9TAP6aq/tk+H1XVXNM6IjIbGAdUBp68WOCLyDBgGECdOnXa7Nixo9D1uYvF2xZz79x7KedZjrXD11LRu6JD95+ankqN/9bg+LnjjO4wmleve7XA2x4/e5zgt4JJPp/M/278X447g54+f5rfd/9O57DOWaF88txJun3Sjdi9sdSpUod6VetxRdUraBPUhqjgKFoGtsxxfnt298+9n5nxM9k8cjP1367PQ5EPMb77+KIN3pgy5mKBf8lDNRH5UUTW5/HKffpC3tvfAhxU1dUFaa+q0aoaqaqRAQEBl97A0KVeFz7u/TEJRxL418//cvj+V+xawfFzx2kV2IrXlr/GR2s+yrPdd1u+4/nFz+e4mGnqH1NJPp9McOVgouOic6x7fOHjdP2kK7d+cStJyUmcSz1Hny/6ELcvjrn957L9se0sHryYyb0mMyJqBJG1I/MNe4DhkcNJPp/MoK8GkZKWwu1NLz6dY4zbye/p5gV5AZuBoMz3QcDmPNqMA3YD24H9wGngs4Lsv02bNkV/hLsbeejbh1TGiv6649dc646eOapR0VH6z0X/1PT09Mva79M/Pq1eL3npoeRDet0n16n3S966ZNuSXO2unHilMhadvm66qqqmpadp+Nvh2m5yO528erIylqzaEg4nqNdLXtp2Ulv1+beP1nqjll73yXXKWHTq2qmFGL1qenp6Vg213qilaelphdqPMWUZEKv5ZGpRv7SdB/x9E+7BwNw8/kN5WlVDVDUM6A/8rKp3F7Ffk4fXrn+Nuv51uW/ufTkejaiqDP1mKDF7Y3j9t9d5ctH/PRqvIBYkLqB9aHuqV6zOrDtnUb9qfe6be1/WmS0Amw5tYu3+tZT3Ks+o70eRlJzED3/9QMKRBB5p+wj9mvejsk9louOiAXh+8fP4ePowt/9cVj2wimoVqvHj1h8Zf+N47ml1T6HGLyIMbzMcgD6N+1z2dw3GuLqi/ot4FbheRBKA6zM/IyK1RWT+Rbc0Dufr48uHvT4k4UgCN0+/mf2n9gMZD9mYvWE2r133GiOjRvLWyrd4+qenCxT6+07uY+3+tfRo0AMA//L+vNTlJbYd28bCvxZmtfti/RcIwrz+8zhx7gSPLHiEd1a9Q2ClQO5oege+Pr4MbDGQmfEz+WX7L3y+/nMevepRavnWolWtVsQOjSVmaAyPtXusSL8HA1sO5M6md/Jw1MNF2o8xLim/Q//S8LIpncL5eM3HWuE/FTTw9UCdEDNBy/27nPb4rIempadpenq6PvjNg8pYdNyycZfc15S4KcpYdO2+tVnLzqWe08DXA7Xn9J6qmjGV0vjdxnrtR9eqquq/f/m3MhZlLPr8z89nbRe3N04Zi/qN81P/V/31yOkjjh24MaZYp3RMKTT4ysH8/sDv+Jf3Z8R3I6hWoRpTb52Kh3ggIrx/8/v0a9aPZ39+ll+2/5Jj2zkb5rBsx//dq2dB4gJqV65Ny8CWWct8PH14IOIBvkv4jp3Hd/LnwT/ZdGgT/Zv3B2B0h9G0CmyFl4cXD0Y+mLVd66DWtAlqw4lzJ3iq/VNUrZDvdXrGmGJgge+iWgS2IGZoDM90fIa5/efmeISeh3gwqeckGlRrwIAvB5CUnISq8tzPz3HHrDu4/tPr+WX7L6Smp/LD1h/ofkX3XOeyD40YiqoSvTqaGetn4CmeWRc5eXt68/3d3/PLvb9Qu3LtHNs92+lZOtbpyKirRhX/b4IxJge7W6YbW7t/Le0mt6NzWGfqVqlLdFw0g1sNZtWeVew+sZuXu77MqO8zntiU1ymOPT/vScyeGCp4V6Bh9YYsvHthHr0YY0pSkc7DN67rylpXMv7G8Sz8ayHRcdE82+lZPur9EYsGLaJqhaqM+n4UXh5eXFf/ujy3H95mOAeSD7D92Hb6N+tfwtUbYy6X3R7ZzQ2PzAjtUL9QhkQMASDEL4RFdy+i40cdaV2rNVXKV8lz2+4NulO3Sl32ntyb61YHxpjSxwLfzYkIYzuPzbW8UY1GbBm55aLbenp4MuHmCew4vsO+gDWmDLDAN/kqSIj3CO9RApUYYxzB5vCNMcZNWOAbY4ybsMA3xhg3YYFvjDFuwgLfGGPchAW+Mca4CQt8Y4xxExb4xhjjJkr1zdNEJAko7FPMawCHHFhOWWBjdn3uNl6wMV+uuqqa5wPBS3XgF4WIxOZ3xzhXZWN2fe42XrAxO5JN6RhjjJuwwDfGGDfhyoEf7ewCnMDG7PrcbbxgY3YYl53DN8YYk5MrH+EbY4zJxgLfGGPchMsFvoh0F5HNIpIoImOcXU9xEJFQEVksIhtFJF5EHs1cXk1EfhCRhMxfXe4xVCLiKSJrROTbzM8uPWYR8ReR2SKyKfPP+2o3GPM/Mv9erxeRz0WkvKuNWUSmiMhBEVmfbVm+YxSRpzMzbbOI3FjYfl0q8EXEE3gP6AE0Be4SkabOrapYpAJPqGoToB3wcOY4xwA/qWo48FPmZ1fzKLAx22dXH/P/A75X1cZAKzLG7rJjFpFgYBQQqarNAU+gP6435o+B7hcsy3OMmf+2+wPNMrd5PzPrLptLBT7QFkhU1a2qmgLMAHo7uSaHU9V9qhqX+f4kGSEQTMZYp2Y2mwrc6pQCi4mIhAA3A5OzLXbZMYuIH3AN8CGAqqao6jFceMyZvIAKIuIFVAT24mJjVtWlwJELFuc3xt7ADFU9p6rbgEQysu6yuVrgBwO7sn3enbnMZYlIGNAa+B0IVNV9kPGfAlDTiaUVh/8BTwHp2Za58pjrA0nAR5nTWJNFpBIuPGZV3QO8AewE9gHHVXURLjzmbPIbo8NyzdUCX/JY5rLnnYqILzAHeExVTzi7nuIkIrcAB1V1tbNrKUFeQAQwQVVbA8mU/amMi8qct+4N1ANqA5VE5G7nVuV0Dss1Vwv83UBots8hZPw46HJExJuMsJ+mql9mLj4gIkGZ64OAg86qrxh0AHqJyHYypuq6ishnuPaYdwO7VfX3zM+zyfgPwJXHfB2wTVWTVPU88CXQHtce89/yG6PDcs3VAj8GCBeReiLiQ8YXHfOcXJPDiYiQMa+7UVXfyrZqHjA48/1gYG5J11ZcVPVpVQ1R1TAy/lx/VtW7ce0x7wd2iUijzEXdgA248JjJmMppJyIVM/+edyPjOypXHvPf8hvjPKC/iJQTkXpAOLCqUD2oqku9gJuALcBfwLPOrqeYxtiRjB/p1gFrM183AdXJ+HY/IfPXas6utZjG3xn4NvO9S48ZuBKIzfyz/hqo6gZjfhHYBKwHPgXKudqYgc/J+I7iPBlH8EMuNkbg2cxM2wz0KGy/dmsFY4xxE642pWOMMSYfFvjGGOMmLPCNMcZNWOAbY4ybsMA3xhg3YYFvjDFuwgLfGGPcxP8HZz5Zke6lBvYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(t,I,'g')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "35c18271",
   "metadata": {},
   "outputs": [],
   "source": [
    "def F(X,t,I):\n",
    "    n=t.size\n",
    "    result=np.zeros(n)\n",
    "    for i in range(n):\n",
    "        result[i]=f(t[i],X)-I[i]\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "abec6d18",
   "metadata": {},
   "outputs": [],
   "source": [
    "def F2(X,t,I):\n",
    "    return f(t,X)-I"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "8b7c42aa",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.02650014, -0.04838357,  0.01043328, -0.01380078, -0.04427749,\n",
       "        0.0068259 ,  0.02806321,  0.04187845, -0.00912673, -0.01223677,\n",
       "       -0.0137508 ,  0.03059775, -0.00377424,  0.03074016,  0.03064693,\n",
       "       -0.04311139, -0.04062801, -0.04298707,  0.00605378,  0.00453865,\n",
       "        0.00177072,  0.02428369,  0.03160753, -0.00817871,  0.0089843 ,\n",
       "        0.03520314,  0.01048019,  0.03337846, -0.04932964, -0.02198467,\n",
       "        0.03553132, -0.03100769,  0.00666169, -0.04556868,  0.0161529 ,\n",
       "       -0.02431587, -0.00355017, -0.02435261, -0.02265714, -0.0224977 ,\n",
       "       -0.0403084 , -0.0326181 ,  0.03044118, -0.03573069, -0.03793642,\n",
       "       -0.044745  ,  0.01705257,  0.0190089 , -0.01288705, -0.0424631 ,\n",
       "        0.00213495, -0.04476429,  0.00316924, -0.01070603, -0.01059596,\n",
       "        0.03057375,  0.00550392, -0.04514621, -0.0151746 ,  0.04825425,\n",
       "       -0.04711448,  0.00019157,  0.01532003, -0.04498905, -0.00750481,\n",
       "       -0.03814602, -0.03091369, -0.02884883, -0.01314667, -0.01226559,\n",
       "        0.03887767,  0.03186937, -0.00673115,  0.01543213,  0.02613381,\n",
       "       -0.03676806,  0.00591486, -0.02803915,  0.02837503, -0.01621392,\n",
       "       -0.04934568, -0.00365029,  0.04892141, -0.01320864,  0.04204486,\n",
       "        0.03592769, -0.01196025,  0.02292191, -0.0421348 , -0.03988572,\n",
       "       -0.02413386,  0.00492694,  0.02382084, -0.01206262, -0.01885012,\n",
       "        0.00324045, -0.01087913, -0.01968524, -0.04945558, -0.03392668,\n",
       "        0.02324797])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "F(C,t,I)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "887a5c4b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.02650014, -0.04838357,  0.01043328, -0.01380078, -0.04427749,\n",
       "        0.0068259 ,  0.02806321,  0.04187845, -0.00912673, -0.01223677,\n",
       "       -0.0137508 ,  0.03059775, -0.00377424,  0.03074016,  0.03064693,\n",
       "       -0.04311139, -0.04062801, -0.04298707,  0.00605378,  0.00453865,\n",
       "        0.00177072,  0.02428369,  0.03160753, -0.00817871,  0.0089843 ,\n",
       "        0.03520314,  0.01048019,  0.03337846, -0.04932964, -0.02198467,\n",
       "        0.03553132, -0.03100769,  0.00666169, -0.04556868,  0.0161529 ,\n",
       "       -0.02431587, -0.00355017, -0.02435261, -0.02265714, -0.0224977 ,\n",
       "       -0.0403084 , -0.0326181 ,  0.03044118, -0.03573069, -0.03793642,\n",
       "       -0.044745  ,  0.01705257,  0.0190089 , -0.01288705, -0.0424631 ,\n",
       "        0.00213495, -0.04476429,  0.00316924, -0.01070603, -0.01059596,\n",
       "        0.03057375,  0.00550392, -0.04514621, -0.0151746 ,  0.04825425,\n",
       "       -0.04711448,  0.00019157,  0.01532003, -0.04498905, -0.00750481,\n",
       "       -0.03814602, -0.03091369, -0.02884883, -0.01314667, -0.01226559,\n",
       "        0.03887767,  0.03186937, -0.00673115,  0.01543213,  0.02613381,\n",
       "       -0.03676806,  0.00591486, -0.02803915,  0.02837503, -0.01621392,\n",
       "       -0.04934568, -0.00365029,  0.04892141, -0.01320864,  0.04204486,\n",
       "        0.03592769, -0.01196025,  0.02292191, -0.0421348 , -0.03988572,\n",
       "       -0.02413386,  0.00492694,  0.02382084, -0.01206262, -0.01885012,\n",
       "        0.00324045, -0.01087913, -0.01968524, -0.04945558, -0.03392668,\n",
       "        0.02324797])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "F2(C,t,I)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "869d9a1a",
   "metadata": {},
   "outputs": [],
   "source": [
    "def DF(X,t):\n",
    "    result=np.zeros((t.size,X.size))\n",
    "    for i in range(t.size):\n",
    "        result[i,0]=np.exp(-t[i]/X[1])\n",
    "        result[i,1]=X[0]*np.exp(-t[i]/X[1])*t[i]/(X[1]**2)\n",
    "        result[i,2]=np.exp(-t[i]/X[3])\n",
    "        result[i,3]=X[2]*np.exp(-t[i]/X[3])*t[i]/(X[3]**2)\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "ba017bd7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.00000000e+00,  0.00000000e+00,  1.00000000e+00,\n",
       "        -0.00000000e+00],\n",
       "       [ 9.04837418e-01,  1.80967484e-02,  9.80198673e-01,\n",
       "        -3.92079469e-04],\n",
       "       [ 8.18730753e-01,  3.27492301e-02,  9.60789439e-01,\n",
       "        -7.68631551e-04],\n",
       "       [ 7.40818221e-01,  4.44490932e-02,  9.41764534e-01,\n",
       "        -1.13011744e-03],\n",
       "       [ 6.70320046e-01,  5.36256037e-02,  9.23116346e-01,\n",
       "        -1.47698615e-03],\n",
       "       [ 6.06530660e-01,  6.06530660e-02,  9.04837418e-01,\n",
       "        -1.80967484e-03],\n",
       "       [ 5.48811636e-01,  6.58573963e-02,  8.86920437e-01,\n",
       "        -2.12860905e-03],\n",
       "       [ 4.96585304e-01,  6.95219425e-02,  8.69358235e-01,\n",
       "        -2.43420306e-03],\n",
       "       [ 4.49328964e-01,  7.18926343e-02,  8.52143789e-01,\n",
       "        -2.72686012e-03],\n",
       "       [ 4.06569660e-01,  7.31825388e-02,  8.35270211e-01,\n",
       "        -3.00697276e-03],\n",
       "       [ 3.67879441e-01,  7.35758882e-02,  8.18730753e-01,\n",
       "        -3.27492301e-03],\n",
       "       [ 3.32871084e-01,  7.32316384e-02,  8.02518798e-01,\n",
       "        -3.53108271e-03],\n",
       "       [ 3.01194212e-01,  7.22866109e-02,  7.86627861e-01,\n",
       "        -3.77581373e-03],\n",
       "       [ 2.72531793e-01,  7.08582662e-02,  7.71051586e-01,\n",
       "        -4.00946825e-03],\n",
       "       [ 2.46596964e-01,  6.90471499e-02,  7.55783741e-01,\n",
       "        -4.23238895e-03],\n",
       "       [ 2.23130160e-01,  6.69390480e-02,  7.40818221e-01,\n",
       "        -4.44490932e-03],\n",
       "       [ 2.01896518e-01,  6.46068858e-02,  7.26149037e-01,\n",
       "        -4.64735384e-03],\n",
       "       [ 1.82683524e-01,  6.21123982e-02,  7.11770323e-01,\n",
       "        -4.84003819e-03],\n",
       "       [ 1.65298888e-01,  5.95075998e-02,  6.97676326e-01,\n",
       "        -5.02326955e-03],\n",
       "       [ 1.49568619e-01,  5.68360753e-02,  6.83861409e-01,\n",
       "        -5.19734671e-03],\n",
       "       [ 1.35335283e-01,  5.41341133e-02,  6.70320046e-01,\n",
       "        -5.36256037e-03],\n",
       "       [ 1.22456428e-01,  5.14316999e-02,  6.57046820e-01,\n",
       "        -5.51919329e-03],\n",
       "       [ 1.10803158e-01,  4.87533897e-02,  6.44036421e-01,\n",
       "        -5.66752051e-03],\n",
       "       [ 1.00258844e-01,  4.61190681e-02,  6.31283646e-01,\n",
       "        -5.80780954e-03],\n",
       "       [ 9.07179533e-02,  4.35446176e-02,  6.18783392e-01,\n",
       "        -5.94032056e-03],\n",
       "       [ 8.20849986e-02,  4.10424993e-02,  6.06530660e-01,\n",
       "        -6.06530660e-03],\n",
       "       [ 7.42735782e-02,  3.86222607e-02,  5.94520548e-01,\n",
       "        -6.18301370e-03],\n",
       "       [ 6.72055127e-02,  3.62909769e-02,  5.82748252e-01,\n",
       "        -6.29368113e-03],\n",
       "       [ 6.08100626e-02,  3.40536351e-02,  5.71209064e-01,\n",
       "        -6.39754152e-03],\n",
       "       [ 5.50232201e-02,  3.19134676e-02,  5.59898367e-01,\n",
       "        -6.49482105e-03],\n",
       "       [ 4.97870684e-02,  2.98722410e-02,  5.48811636e-01,\n",
       "        -6.58573963e-03],\n",
       "       [ 4.50492024e-02,  2.79305055e-02,  5.37944438e-01,\n",
       "        -6.67051103e-03],\n",
       "       [ 4.07622040e-02,  2.60878105e-02,  5.27292424e-01,\n",
       "        -6.74934303e-03],\n",
       "       [ 3.68831674e-02,  2.43428905e-02,  5.16851334e-01,\n",
       "        -6.82243762e-03],\n",
       "       [ 3.33732700e-02,  2.26938236e-02,  5.06616992e-01,\n",
       "        -6.88999110e-03],\n",
       "       [ 3.01973834e-02,  2.11381684e-02,  4.96585304e-01,\n",
       "        -6.95219425e-03],\n",
       "       [ 2.73237224e-02,  1.96730802e-02,  4.86752256e-01,\n",
       "        -7.00923249e-03],\n",
       "       [ 2.47235265e-02,  1.82954096e-02,  4.77113916e-01,\n",
       "        -7.06128595e-03],\n",
       "       [ 2.23707719e-02,  1.70017866e-02,  4.67666427e-01,\n",
       "        -7.10852969e-03],\n",
       "       [ 2.02419114e-02,  1.57886909e-02,  4.58406011e-01,\n",
       "        -7.15113378e-03],\n",
       "       [ 1.83156389e-02,  1.46525111e-02,  4.49328964e-01,\n",
       "        -7.18926343e-03],\n",
       "       [ 1.65726754e-02,  1.35895938e-02,  4.40431655e-01,\n",
       "        -7.22307913e-03],\n",
       "       [ 1.49955768e-02,  1.25962845e-02,  4.31710523e-01,\n",
       "        -7.25273679e-03],\n",
       "       [ 1.35685590e-02,  1.16689608e-02,  4.23162082e-01,\n",
       "        -7.27838782e-03],\n",
       "       [ 1.22773399e-02,  1.08040591e-02,  4.14782912e-01,\n",
       "        -7.30017925e-03],\n",
       "       [ 1.11089965e-02,  9.99809688e-03,  4.06569660e-01,\n",
       "        -7.31825388e-03],\n",
       "       [ 1.00518357e-02,  9.24768889e-03,  3.98519041e-01,\n",
       "        -7.33275036e-03],\n",
       "       [ 9.09527710e-03,  8.54956048e-03,  3.90627835e-01,\n",
       "        -7.34380330e-03],\n",
       "       [ 8.22974705e-03,  7.90055717e-03,  3.82892886e-01,\n",
       "        -7.35154341e-03],\n",
       "       [ 7.44658307e-03,  7.29765141e-03,  3.75311099e-01,\n",
       "        -7.35609754e-03],\n",
       "       [ 6.73794700e-03,  6.73794700e-03,  3.67879441e-01,\n",
       "        -7.35758882e-03],\n",
       "       [ 6.09674657e-03,  6.21868150e-03,  3.60594940e-01,\n",
       "        -7.35613678e-03],\n",
       "       [ 5.51656442e-03,  5.73722700e-03,  3.53454682e-01,\n",
       "        -7.35185738e-03],\n",
       "       [ 4.99159391e-03,  5.29108954e-03,  3.46455810e-01,\n",
       "        -7.34486318e-03],\n",
       "       [ 4.51658094e-03,  4.87790742e-03,  3.39595526e-01,\n",
       "        -7.33526335e-03],\n",
       "       [ 4.08677144e-03,  4.49544858e-03,  3.32871084e-01,\n",
       "        -7.32316384e-03],\n",
       "       [ 3.69786372e-03,  4.14160736e-03,  3.26279795e-01,\n",
       "        -7.30866740e-03],\n",
       "       [ 3.34596546e-03,  3.81440062e-03,  3.19819022e-01,\n",
       "        -7.29187370e-03],\n",
       "       [ 3.02755475e-03,  3.51196350e-03,  3.13486181e-01,\n",
       "        -7.27287940e-03],\n",
       "       [ 2.73944482e-03,  3.23254489e-03,  3.07278739e-01,\n",
       "        -7.25177823e-03],\n",
       "       [ 2.47875218e-03,  2.97450261e-03,  3.01194212e-01,\n",
       "        -7.22866109e-03],\n",
       "       [ 2.24286772e-03,  2.73629862e-03,  2.95230167e-01,\n",
       "        -7.20361607e-03],\n",
       "       [ 2.02943064e-03,  2.51649399e-03,  2.89384218e-01,\n",
       "        -7.17672860e-03],\n",
       "       [ 1.83630478e-03,  2.31374402e-03,  2.83654026e-01,\n",
       "        -7.14808147e-03],\n",
       "       [ 1.66155727e-03,  2.12679331e-03,  2.78037300e-01,\n",
       "        -7.11775489e-03],\n",
       "       [ 1.50343919e-03,  1.95447095e-03,  2.72531793e-01,\n",
       "        -7.08582662e-03],\n",
       "       [ 1.36036804e-03,  1.79568581e-03,  2.67135302e-01,\n",
       "        -7.05237197e-03],\n",
       "       [ 1.23091190e-03,  1.64942195e-03,  2.61845669e-01,\n",
       "        -7.01746392e-03],\n",
       "       [ 1.11377515e-03,  1.51473420e-03,  2.56660777e-01,\n",
       "        -6.98117313e-03],\n",
       "       [ 1.00778543e-03,  1.39074389e-03,  2.51578553e-01,\n",
       "        -6.94356806e-03],\n",
       "       [ 9.11881966e-04,  1.27663475e-03,  2.46596964e-01,\n",
       "        -6.90471499e-03],\n",
       "       [ 8.25104923e-04,  1.17164899e-03,  2.41714017e-01,\n",
       "        -6.86467808e-03],\n",
       "       [ 7.46585808e-04,  1.07508356e-03,  2.36927759e-01,\n",
       "        -6.82351945e-03],\n",
       "       [ 6.75538775e-04,  9.86286612e-04,  2.32236275e-01,\n",
       "        -6.78129922e-03],\n",
       "       [ 6.11252761e-04,  9.04654086e-04,  2.27637688e-01,\n",
       "        -6.73807558e-03],\n",
       "       [ 5.53084370e-04,  8.29626555e-04,  2.23130160e-01,\n",
       "        -6.69390480e-03],\n",
       "       [ 5.00451433e-04,  7.60686179e-04,  2.18711887e-01,\n",
       "        -6.64884136e-03],\n",
       "       [ 4.52827183e-04,  6.97353862e-04,  2.14381101e-01,\n",
       "        -6.60293792e-03],\n",
       "       [ 4.09734979e-04,  6.39186567e-04,  2.10136071e-01,\n",
       "        -6.55624542e-03],\n",
       "       [ 3.70743540e-04,  5.85774794e-04,  2.05975098e-01,\n",
       "        -6.50881310e-03],\n",
       "       [ 3.35462628e-04,  5.36740205e-04,  2.01896518e-01,\n",
       "        -6.46068858e-03],\n",
       "       [ 3.03539138e-04,  4.91733404e-04,  1.97898699e-01,\n",
       "        -6.41191785e-03],\n",
       "       [ 2.74653570e-04,  4.50431855e-04,  1.93980042e-01,\n",
       "        -6.36254539e-03],\n",
       "       [ 2.48516827e-04,  4.12537933e-04,  1.90138980e-01,\n",
       "        -6.31261414e-03],\n",
       "       [ 2.24867324e-04,  3.77777105e-04,  1.86373976e-01,\n",
       "        -6.26216559e-03],\n",
       "       [ 2.03468369e-04,  3.45896227e-04,  1.82683524e-01,\n",
       "        -6.21123982e-03],\n",
       "       [ 1.84105794e-04,  3.16661965e-04,  1.79066148e-01,\n",
       "        -6.15987549e-03],\n",
       "       [ 1.66585811e-04,  2.89859311e-04,  1.75520401e-01,\n",
       "        -6.10810994e-03],\n",
       "       [ 1.50733075e-04,  2.65290212e-04,  1.72044864e-01,\n",
       "        -6.05597921e-03],\n",
       "       [ 1.36388926e-04,  2.42772289e-04,  1.68638147e-01,\n",
       "        -6.00351804e-03],\n",
       "       [ 1.23409804e-04,  2.22137647e-04,  1.65298888e-01,\n",
       "        -5.95075998e-03],\n",
       "       [ 1.11665808e-04,  2.03231771e-04,  1.62025751e-01,\n",
       "        -5.89773733e-03],\n",
       "       [ 1.01039402e-04,  1.85912499e-04,  1.58817426e-01,\n",
       "        -5.84448128e-03],\n",
       "       [ 9.14242315e-05,  1.70049071e-04,  1.55672630e-01,\n",
       "        -5.79102185e-03],\n",
       "       [ 8.27240656e-05,  1.55521243e-04,  1.52590106e-01,\n",
       "        -5.73738798e-03],\n",
       "       [ 7.48518299e-05,  1.42218477e-04,  1.49568619e-01,\n",
       "        -5.68360753e-03],\n",
       "       [ 6.77287365e-05,  1.30039174e-04,  1.46606962e-01,\n",
       "        -5.62970735e-03],\n",
       "       [ 6.12834951e-05,  1.18889980e-04,  1.43703950e-01,\n",
       "        -5.57571325e-03],\n",
       "       [ 5.54515994e-05,  1.08685135e-04,  1.40858421e-01,\n",
       "        -5.52165010e-03],\n",
       "       [ 5.01746821e-05,  9.93458705e-05,  1.38069237e-01,\n",
       "        -5.46754180e-03],\n",
       "       [ 4.53999298e-05,  9.07998595e-05,  1.35335283e-01,\n",
       "        -5.41341133e-03]])"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "DF(C,t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "c2534fce",
   "metadata": {},
   "outputs": [],
   "source": [
    "def DF2(X,t):\n",
    "    Dx=0.001\n",
    "    dx=np.array([Dx,Dx,Dx,Dx])\n",
    "    result=np.zeros((t.size,X.size))\n",
    "    for i in range(t.size):\n",
    "        result[i,0]=(f(t[i],X+dx*np.array([1,0,0,0]))-f(t[i],X))/Dx\n",
    "        result[i,1]=(f(t[i],X+dx*np.array([0,1,0,0]))-f(t[i],X))/Dx\n",
    "        result[i,2]=(f(t[i],X+dx*np.array([0,0,1,0]))-f(t[i],X))/Dx\n",
    "        result[i,3]=(f(t[i],X+dx*np.array([0,0,0,1]))-f(t[i],X))/Dx\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "7629b778",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.00000000e+00,  0.00000000e+00,  1.00000000e+00,\n",
       "         0.00000000e+00],\n",
       "       [ 9.04837418e-01,  1.80950293e-02,  9.80198673e-01,\n",
       "        -3.92071706e-04],\n",
       "       [ 8.18730753e-01,  3.27462830e-02,  9.60789439e-01,\n",
       "        -7.68616486e-04],\n",
       "       [ 7.40818221e-01,  4.44453154e-02,  9.41764534e-01,\n",
       "        -1.13009552e-03],\n",
       "       [ 6.70320046e-01,  5.36213140e-02,  9.23116346e-01,\n",
       "        -1.47695780e-03],\n",
       "       [ 6.06530660e-01,  6.06485173e-02,  9.04837418e-01,\n",
       "        -1.80964045e-03],\n",
       "       [ 5.48811636e-01,  6.58527866e-02,  8.86920437e-01,\n",
       "        -2.12856903e-03],\n",
       "       [ 4.96585304e-01,  6.95174239e-02,  8.69358235e-01,\n",
       "        -2.43415778e-03],\n",
       "       [ 4.49328964e-01,  7.18883209e-02,  8.52143789e-01,\n",
       "        -2.72680995e-03],\n",
       "       [ 4.06569660e-01,  7.31785139e-02,  8.35270211e-01,\n",
       "        -3.00691804e-03],\n",
       "       [ 3.67879441e-01,  7.35722096e-02,  8.18730753e-01,\n",
       "        -3.27486406e-03],\n",
       "       [ 3.32871084e-01,  7.32283431e-02,  8.02518798e-01,\n",
       "        -3.53101986e-03],\n",
       "       [ 3.01194212e-01,  7.22837194e-02,  7.86627861e-01,\n",
       "        -3.77574728e-03],\n",
       "       [ 2.72531793e-01,  7.08557861e-02,  7.71051586e-01,\n",
       "        -4.00939848e-03],\n",
       "       [ 2.46596964e-01,  6.90450784e-02,  7.55783741e-01,\n",
       "        -4.23231616e-03],\n",
       "       [ 2.23130160e-01,  6.69373745e-02,  7.40818221e-01,\n",
       "        -4.44483376e-03],\n",
       "       [ 2.01896518e-01,  6.46055935e-02,  7.26149037e-01,\n",
       "        -4.64727576e-03],\n",
       "       [ 1.82683524e-01,  6.21114664e-02,  7.11770323e-01,\n",
       "        -4.83995785e-03],\n",
       "       [ 1.65298888e-01,  5.95070045e-02,  6.97676326e-01,\n",
       "        -5.02318717e-03],\n",
       "       [ 1.49568619e-01,  5.68357910e-02,  6.83861409e-01,\n",
       "        -5.19726251e-03],\n",
       "       [ 1.35335283e-01,  5.41341131e-02,  6.70320046e-01,\n",
       "        -5.36247457e-03],\n",
       "       [ 1.22456428e-01,  5.14319568e-02,  6.57046820e-01,\n",
       "        -5.51910608e-03],\n",
       "       [ 1.10803158e-01,  4.87538770e-02,  6.44036421e-01,\n",
       "        -5.66743209e-03],\n",
       "       [ 1.00258844e-01,  4.61197597e-02,  6.31283646e-01,\n",
       "        -5.80772010e-03],\n",
       "       [ 9.07179533e-02,  4.35454883e-02,  6.18783392e-01,\n",
       "        -5.94023027e-03],\n",
       "       [ 8.20849986e-02,  4.10435252e-02,  6.06530660e-01,\n",
       "        -6.06521562e-03],\n",
       "       [ 7.42735782e-02,  3.86234192e-02,  5.94520548e-01,\n",
       "        -6.18292219e-03],\n",
       "       [ 6.72055127e-02,  3.62922469e-02,  5.82748252e-01,\n",
       "        -6.29358924e-03],\n",
       "       [ 6.08100626e-02,  3.40549970e-02,  5.71209064e-01,\n",
       "        -6.39744939e-03],\n",
       "       [ 5.50232201e-02,  3.19149036e-02,  5.59898367e-01,\n",
       "        -6.49472883e-03],\n",
       "       [ 4.97870684e-02,  2.98737345e-02,  5.48811636e-01,\n",
       "        -6.58564743e-03],\n",
       "       [ 4.50492024e-02,  2.79320415e-02,  5.37944438e-01,\n",
       "        -6.67041897e-03],\n",
       "       [ 4.07622040e-02,  2.60893757e-02,  5.27292424e-01,\n",
       "        -6.74925124e-03],\n",
       "       [ 3.68831674e-02,  2.43444727e-02,  5.16851334e-01,\n",
       "        -6.82234620e-03],\n",
       "       [ 3.33732700e-02,  2.26954120e-02,  5.06616992e-01,\n",
       "        -6.88990015e-03],\n",
       "       [ 3.01973834e-02,  2.11397537e-02,  4.96585304e-01,\n",
       "        -6.95210388e-03],\n",
       "       [ 2.73237224e-02,  1.96746539e-02,  4.86752256e-01,\n",
       "        -7.00914277e-03],\n",
       "       [ 2.47235265e-02,  1.82969646e-02,  4.77113916e-01,\n",
       "        -7.06119698e-03],\n",
       "       [ 2.23707719e-02,  1.70033167e-02,  4.67666427e-01,\n",
       "        -7.10844155e-03],\n",
       "       [ 2.02419114e-02,  1.57901908e-02,  4.58406011e-01,\n",
       "        -7.15104653e-03],\n",
       "       [ 1.83156389e-02,  1.46539763e-02,  4.49328964e-01,\n",
       "        -7.18917716e-03],\n",
       "       [ 1.65726754e-02,  1.35910207e-02,  4.40431655e-01,\n",
       "        -7.22299390e-03],\n",
       "       [ 1.49955768e-02,  1.25976701e-02,  4.31710523e-01,\n",
       "        -7.25265266e-03],\n",
       "       [ 1.35685590e-02,  1.16703027e-02,  4.23162082e-01,\n",
       "        -7.27830484e-03],\n",
       "       [ 1.22773399e-02,  1.08053556e-02,  4.14782912e-01,\n",
       "        -7.30009748e-03],\n",
       "       [ 1.11089965e-02,  9.99934663e-03,  4.06569660e-01,\n",
       "        -7.31817338e-03],\n",
       "       [ 1.00518357e-02,  9.24889108e-03,  3.98519041e-01,\n",
       "        -7.33267116e-03],\n",
       "       [ 9.09527710e-03,  8.55071466e-03,  3.90627835e-01,\n",
       "        -7.34372546e-03],\n",
       "       [ 8.22974705e-03,  7.90166325e-03,  3.82892886e-01,\n",
       "        -7.35146696e-03],\n",
       "       [ 7.44658307e-03,  7.29870958e-03,  3.75311099e-01,\n",
       "        -7.35602251e-03],\n",
       "       [ 6.73794700e-03,  6.73895770e-03,  3.67879441e-01,\n",
       "        -7.35751525e-03],\n",
       "       [ 6.09674657e-03,  6.21964541e-03,  3.60594940e-01,\n",
       "        -7.35606469e-03],\n",
       "       [ 5.51656442e-03,  5.73814497e-03,  3.53454682e-01,\n",
       "        -7.35178681e-03],\n",
       "       [ 4.99159391e-03,  5.29196259e-03,  3.46455810e-01,\n",
       "        -7.34479414e-03],\n",
       "       [ 4.51658094e-03,  4.87873668e-03,  3.39595526e-01,\n",
       "        -7.33519587e-03],\n",
       "       [ 4.08677144e-03,  4.49623531e-03,  3.32871084e-01,\n",
       "        -7.32309793e-03],\n",
       "       [ 3.69786372e-03,  4.14235288e-03,  3.26279795e-01,\n",
       "        -7.30860308e-03],\n",
       "       [ 3.34596546e-03,  3.81510631e-03,  3.19819022e-01,\n",
       "        -7.29181099e-03],\n",
       "       [ 3.02755475e-03,  3.51263081e-03,  3.13486181e-01,\n",
       "        -7.27281830e-03],\n",
       "       [ 2.73944482e-03,  3.23317526e-03,  3.07278739e-01,\n",
       "        -7.25171877e-03],\n",
       "       [ 2.47875218e-03,  2.97509754e-03,  3.01194212e-01,\n",
       "        -7.22860326e-03],\n",
       "       [ 2.24286772e-03,  2.73685959e-03,  2.95230167e-01,\n",
       "        -7.20355988e-03],\n",
       "       [ 2.02943064e-03,  2.51702248e-03,  2.89384218e-01,\n",
       "        -7.17667406e-03],\n",
       "       [ 1.83630478e-03,  2.31424150e-03,  2.83654026e-01,\n",
       "        -7.14802857e-03],\n",
       "       [ 1.66155727e-03,  2.12726123e-03,  2.78037300e-01,\n",
       "        -7.11770364e-03],\n",
       "       [ 1.50343919e-03,  1.95491074e-03,  2.72531793e-01,\n",
       "        -7.08577702e-03],\n",
       "       [ 1.36036804e-03,  1.79609885e-03,  2.67135302e-01,\n",
       "        -7.05232402e-03],\n",
       "       [ 1.23091190e-03,  1.64980959e-03,  2.61845669e-01,\n",
       "        -7.01741760e-03],\n",
       "       [ 1.11377515e-03,  1.51509777e-03,  2.56660777e-01,\n",
       "        -6.98112845e-03],\n",
       "       [ 1.00778543e-03,  1.39108465e-03,  2.51578553e-01,\n",
       "        -6.94352501e-03],\n",
       "       [ 9.11881966e-04,  1.27695394e-03,  2.46596964e-01,\n",
       "        -6.90467356e-03],\n",
       "       [ 8.25104923e-04,  1.17194779e-03,  2.41714017e-01,\n",
       "        -6.86463826e-03],\n",
       "       [ 7.46585808e-04,  1.07536311e-03,  2.36927759e-01,\n",
       "        -6.82348124e-03],\n",
       "       [ 6.75538775e-04,  9.86548003e-04,  2.32236275e-01,\n",
       "        -6.78126260e-03],\n",
       "       [ 6.11252761e-04,  9.04898368e-04,  2.27637688e-01,\n",
       "        -6.73804054e-03],\n",
       "       [ 5.53084370e-04,  8.29854726e-04,  2.23130160e-01,\n",
       "        -6.69387133e-03],\n",
       "       [ 5.00451433e-04,  7.60899194e-04,  2.18711887e-01,\n",
       "        -6.64880945e-03],\n",
       "       [ 4.52827183e-04,  6.97552630e-04,  2.14381101e-01,\n",
       "        -6.60290755e-03],\n",
       "       [ 4.09734979e-04,  6.39371953e-04,  2.10136071e-01,\n",
       "        -6.55621657e-03],\n",
       "       [ 3.70743540e-04,  5.85947618e-04,  2.05975098e-01,\n",
       "        -6.50878577e-03],\n",
       "       [ 3.35462628e-04,  5.36901246e-04,  2.01896518e-01,\n",
       "        -6.46066273e-03],\n",
       "       [ 3.03539138e-04,  4.91883401e-04,  1.97898699e-01,\n",
       "        -6.41189348e-03],\n",
       "       [ 2.74653570e-04,  4.50571507e-04,  1.93980042e-01,\n",
       "        -6.36252248e-03],\n",
       "       [ 2.48516827e-04,  4.12667900e-04,  1.90138980e-01,\n",
       "        -6.31259268e-03],\n",
       "       [ 2.24867324e-04,  3.77898010e-04,  1.86373976e-01,\n",
       "        -6.26214556e-03],\n",
       "       [ 2.03468369e-04,  3.46008659e-04,  1.82683524e-01,\n",
       "        -6.21122118e-03],\n",
       "       [ 1.84105794e-04,  3.16766479e-04,  1.79066148e-01,\n",
       "        -6.15985824e-03],\n",
       "       [ 1.66585811e-04,  2.89956428e-04,  1.75520401e-01,\n",
       "        -6.10809406e-03],\n",
       "       [ 1.50733075e-04,  2.65380424e-04,  1.72044864e-01,\n",
       "        -6.05596467e-03],\n",
       "       [ 1.36388926e-04,  2.42856058e-04,  1.68638147e-01,\n",
       "        -6.00350483e-03],\n",
       "       [ 1.23409804e-04,  2.22215408e-04,  1.65298888e-01,\n",
       "        -5.95074807e-03],\n",
       "       [ 1.11665808e-04,  2.03303930e-04,  1.62025751e-01,\n",
       "        -5.89772672e-03],\n",
       "       [ 1.01039402e-04,  1.85979439e-04,  1.58817426e-01,\n",
       "        -5.84447193e-03],\n",
       "       [ 9.14242315e-05,  1.70111149e-04,  1.55672630e-01,\n",
       "        -5.79101374e-03],\n",
       "       [ 8.27240655e-05,  1.55578796e-04,  1.52590106e-01,\n",
       "        -5.73738109e-03],\n",
       "       [ 7.48518299e-05,  1.42271818e-04,  1.49568619e-01,\n",
       "        -5.68360185e-03],\n",
       "       [ 6.77287365e-05,  1.30088598e-04,  1.46606962e-01,\n",
       "        -5.62970284e-03],\n",
       "       [ 6.12834951e-05,  1.18935761e-04,  1.43703950e-01,\n",
       "        -5.57570991e-03],\n",
       "       [ 5.54515994e-05,  1.08727530e-04,  1.40858421e-01,\n",
       "        -5.52164789e-03],\n",
       "       [ 5.01746820e-05,  9.93851195e-05,  1.38069237e-01,\n",
       "        -5.46754070e-03],\n",
       "       [ 4.53999298e-05,  9.08361864e-05,  1.35335283e-01,\n",
       "        -5.41341133e-03]])"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "DF2(C,t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "c5a53586",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 1.85726911  8.39973802 -0.82238426 52.40480788]\n",
      "[ 1.96225978  9.39101864 -0.92950132 51.23057113]\n",
      "[ 1.97950725  9.44406667 -0.94476872 50.81663209]\n",
      "[ 1.97955341  9.44370718 -0.94480166 50.82349267]\n",
      "[ 1.979554    9.44371145 -0.94480236 50.82346109]\n",
      "[ 1.97955399  9.44371142 -0.94480235 50.82346128]\n",
      "[ 1.97955399  9.44371142 -0.94480235 50.82346128]\n",
      "[ 1.97955399  9.44371142 -0.94480235 50.82346128]\n",
      "[ 1.97955399  9.44371142 -0.94480235 50.82346128]\n",
      "[ 1.97955399  9.44371142 -0.94480235 50.82346128]\n"
     ]
    }
   ],
   "source": [
    "cf=[[1.5,10.7,-1,40]]\n",
    "for i in range(10):\n",
    "    ci=np.array(cf[i])\n",
    "    dfi=DF(ci,t)\n",
    "    fi=F(ci,t,I)\n",
    "    result=ci-np.linalg.inv(dfi.T@dfi)@(dfi.T@fi)\n",
    "    #cf=result\n",
    "    cf.append(list(result))\n",
    "    print(result)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "de30fd0c",
   "metadata": {},
   "outputs": [],
   "source": [
    "S=f(t,result)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "7592441f",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "#plt.plot(t,S,'b')\n",
    "plt.scatter(t,I,c = 'yellow', edgecolors = 'yellow',marker='*')\n",
    "for i in range(len(cf)):\n",
    "    fi=f(t,cf[i])\n",
    "    plt.plot(t,fi,'b')\n",
    "#plt.legend()\n",
    "#plt.plot(t,I,'g')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f2245d72",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
